// pages/heroDetail/main.js

Page({
  /** * 页面的初始数据 */
  data: {
    heroInfo:{},
    defaultImg:'https://6974-itcast-zftt8-1259456495.tcb.qcloud.la/test.png',
  },
  /** * 生命周期函数--监听页面加载 */
  onLoad: function () {
    const { _id } = this.options
    // console.log('_id', _id)
    // 如果没有 _id 则退出
    if(!_id) return
    // 否则获取英雄数据
    this.getHeroById(_id)
    this._id = _id
  },
  // 下拉刷新
  async onPullDownRefresh(){
    await this.onLoad()
    // 请求完成主动关闭下拉刷新动画
    wx.stopPullDownRefresh()
  },
  // 根据 id 获取英雄数据
  async getHeroById(_id){
    try {
      wx.showLoading({ title: '加载中...' })
      const {data : heroInfo} = await getApp().hero.doc(_id).get()
      // console.log('heroInfo', heroInfo)
      // 更新英雄数据
      this.setData({ heroInfo })
      wx.hideLoading()
    } catch (error) {
      wx.showToast({ title: '出现错误' })
    }
  },
  async uploadAvatar(){
    try {
      // 上传一张图片
      const { tempFiles } = await wx.chooseImage({ count: 1 })
      // console.log('tempFiles', tempFiles)
      // 获取图片路径
      const filePath =  tempFiles[0].path
      // 截取图片名字，用于云文件上传
      const cloudPath = filePath.split('.').slice(-2).join('.').replace('wxfile://','')
      // console.log('cloudPath',cloudPath)
      wx.showLoading({ title: '更新中...' })
      // 上传图片到云存储
      const { fileID: avatar } = await wx.cloud.uploadFile({ filePath, cloudPath })
      // 更新页面信息
      const { heroInfo } = this.data
      heroInfo.avatar = avatar
      this.setData({ heroInfo })
      // 更新云数据库图片路径
      await getApp().hero.doc(this._id).update({ data:{ avatar } })
      wx.showToast({ title: '头像更新成功' })
    } catch (error) {
      wx.showToast({ title: '出现错误', icon: 'none' })
    }
  }
})